# 第一题
# a = input('请输入：')
# t = len(a.split(' ')[-1])
# print(t)

# 第二题
# a = input('请随意输入一些字母')
# b = input('输入需要查找的字符')
# d = b.lower()
# c = a.lower()
# print(c.count(b))


# 第三题
# a = input('请输入一串字符')
# b = len(a)
# if b % 8 == 0:
#     print(a)
# else:
#     c = b % 8
#     d = 8 - c
#     e = a.ljust(len(a)+d, '0')
#     print(e)

# 第三题解法二
# msg = input('输入')
# while len(msg) > 8 :
#      print(msg[:8])
#      msg = msg[8:]
# print(msg.ljust(8,'0'))

# 第四题
import json
f = open("data.json", 'r', encoding='UTF-8')
data = json.load(f)

print('请输入你的操作指令：0退出')
print('请输入你的操作指令：1注册')
print('请输入你的操作指令：2登录')
print('请输入你的操作指令：3修改密码')
print('请输入你的操作指令：4删除用户')
while True:
    test = input('输入你的指令：')
    if test == '1':
        username = input('请输入你的用户名：')
        if username in data:
            print('该用户已存在')
        elif len(username) < 0 or len(username) > 20:
            print('长度不合法')
        else:
            password = input('请输入密码')
            if len(password) <= 8:
                print('密码长度不合法')
            else:
                b = [0, 0, 0, 0]  # 定义一个列表
                for i in password:    # 从第一个字符开始取
                    if i.isupper():  # 如果取出的字符是大写
                            b[0] = 1  # 把 b 列表下标为 0 的数字修改成 1
                    elif i.islower():  # 如果取出的字符是小写
                            b[1] = 1  # 把 b 列表下标为 1 的数字修改成 1
                    elif i.isdigit():  # 如果取出的字符是数字
                            b[2] = 1  # 把 b 列表下标为 2 的数字修改成 1
                    else:  # 如果取出的字符既不是大写 也不是小写 也不是 数字
                            b[3] = 1  # 把 b 列表下标为 3 的数字修改成 1
                    if b.count(1) > 2:
                        print("注册成功")
                        data[username] = password
                    else:
                        print('密码必须包括大、小写字母.数字.其它,以上四种至少三种')
                data[username] = password

    elif test == '2':
        username = input('输入你的用户名')
        if username != data.keys:
            password = input('请输入你的密码')

            if password == data.get('username'):
                print('登陆成功')
            else:
                print('用户名或密码错误')
    elif test == '3':
        password = input('请输入你的密码')
        new_password = input('请输入你的新密码')
        if password != data.get('username') and password == new_password:
            print('密码输入错误或者两次密码输入一样')
        else:
            print('修改成功')
    elif test == '4':
        username = input('请输入你的用户名')
        password = input('请输入你的密码')
        if username == data.keys() and password == data.get('username'):
            data.pop('username')
            print('删除成功')
        else:
            print('用户名或密码错误')
    elif test == '0':
        break
    else:
        print('指令输入有误')
f = open("data.json", 'w', encoding='UTF-8')
json.dump(data, f, ensure_ascii=False)
f.close()






# a = input("请输入密码")
# if len(a) <= 8:
#     print('密码长度不合法')
# else:
#     b = [0, 0, 0, 0]  # 定义一个列表
#     for i in a:  # 从第一个字符开始取
#         if i.isupper():  # 如果取出的字符是大写
#             b[0] = 1     # 把 b 列表下标为 0 的数字修改成 1
#         elif i.islower():  # 如果取出的字符是小写
#             b[1] = 1       # 把 b 列表下标为 1 的数字修改成 1
#         elif i.isdigit():  # 如果取出的字符是数字
#             b[2] = 1       # 把 b 列表下标为 2 的数字修改成 1
#         else:              # 如果取出的字符既不是大写 也不是小写 也不是 数字
#             b[3] = 1       # 把 b 列表下标为 3 的数字修改成 1
#     if b.count(1) > 2:
#         print("注册成功")
#     else:
#         print('密码必须包括大、小写字母.数字.其它,以上四种至少三种')

